package Algorithm.SortAlgorithmDome;

/**
 * ClassName:RecursionSort001
 * Package:Algorithm.SortAlgorithmDome
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/4-13:22
 * @Version:v1.0
 */
public class RecursionSort001 {
    /*递归算法*/
    //递归指的是方法中调用方法本身现象

    /*
     * 递归的注意点：递归一定要有出口,否则就会出现内存溢出*/

    //核心：1.找出口  2.找规律
    public static void main(String[] args) {
        //需求：利用递归求1-100之间的和
        getMethod(100);
        System.out.println("1-100之间的和:"+getMethod(100));
        //1~100之间的和 = 100+(1~99之间的和)
        //1~99之间的和 = 99+(1~98之间的和)
        //1~1之间的和 = 1(递归的出口)
    }

    private static int getMethod(int number) {
        if (number == 1) {
            return 1;
        }
        //如果number不是1时
        return number+getMethod(number-1);
    }
}
